home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_nub_doorladders.cog < prev    next >
Text File  |  1999-11-15  |  3KB  |  156 lines

  1. # Jones 3D Cog Script
  2. #
  3. # nub_DoorLadders.cog
  4. #
  5. # [TL]
  6. #
  7. # (C) 1999 LucasArts Entertainment Co. All Rights Reserved
  8. #
  9. # ========================================================================================
  10. symbols
  11.  
  12. message    startup
  13. message    activated
  14. message    arrived
  15. message    entered
  16.  
  17. thing    door0  
  18. thing    ladder0
  19. thing    ladder1
  20. thing    dbutton0
  21. thing    lbutton0
  22. thing    lbutton1
  23. thing    robo0
  24. thing    robo1
  25. thing    robo2
  26.  
  27. sector    awake0
  28. sector    awake1
  29. sector    awake2
  30.  
  31. surface    climbable0
  32. surface    climbable1
  33.  
  34. thing    player            local
  35.  
  36. int        done0=0            local
  37. int        done1=0            local
  38. int        done2=0            local
  39. int        doordone=0        local
  40. int        ladder0done=0    local
  41. int        ladder1done=0    local
  42.  
  43. end
  44.  
  45. # ========================================================================================
  46. code
  47.  
  48. startup:
  49.  
  50. player = GetLocalPlayerThing();
  51.  
  52. AISetMode(robo0, 0x2000);
  53. AISetMode(robo1, 0x2000);
  54. AISetMode(robo2, 0x2000);
  55.  
  56. return;
  57.  
  58. # ........................................................................................
  59. activated:
  60.  
  61. if (IsThingMoving(door0)) return;
  62. if (IsThingMoving(ladder0))    return;
  63. if (IsThingMoving(ladder1))    return;
  64.  
  65. if (GetSenderRef() == dbutton0)
  66.     {
  67.     if (doordone == 1) return;
  68.     StopThing(player);
  69.     SetActorFlags(player, 0x200000);
  70.     MoveToFrame(dbutton0, 1, 1.0);
  71.     PlayMode(player, 60, 1);
  72.     MoveToFrame(door0, 1, 1.0);
  73.     ClearActorFlags(player, 0x200000);
  74.     doordone=1;
  75.     }
  76. if (GetSenderRef() == lbutton0)
  77.     {
  78.     if (ladder0done == 1) return;
  79.     StopThing(player);
  80.     SetActorFlags(player, 0x200000);
  81.     PlayMode(player, 60, 0);
  82.     MoveToFrame(lbutton0, 1, 1.0);
  83.     MoveToFrame(ladder0, 1, 1.0);
  84.     ladder0done=1;
  85.     }
  86. if (GetSenderRef() == lbutton1)
  87.     {
  88.     if (ladder1done == 1) return;
  89.     StopThing(player);
  90.     SetActorFlags(player, 0x200000);
  91.     PlayMode(player, 60, 0);
  92.     MoveToFrame(lbutton1, 1, 1.0);
  93.     MoveToFrame(ladder1, 1, 1.0);
  94.     ladder1done=1;
  95.     }
  96.  
  97. return;
  98.  
  99. # ........................................................................................
  100. arrived:
  101.  
  102. if ((GetSenderRef() == dbutton0) && (GetCurFrame(dbutton0) == 1))
  103.     {
  104.     MoveToFrame(dbutton0, 0, 1.0);
  105.     }
  106. if ((GetSenderRef() == lbutton0) && (GetCurFrame(lbutton0) == 1))
  107.     {
  108.     MoveToFrame(lbutton0, 0, 1.0);
  109.     }
  110. if ((GetSenderRef() == lbutton1) && (GetCurFrame(lbutton1) == 1))
  111.     {
  112.     MoveToFrame(lbutton1, 0, 1.0);
  113.     }
  114. if (GetSenderRef() == ladder0)
  115.     {
  116.     SetAdjoinFlags(climbable0, 0x0010);
  117.     ClearActorFlags(player, 0x200000);
  118.     print("Climbable");
  119.     }
  120. if (GetSenderRef() == ladder1)
  121.     {
  122.     SetAdjoinFlags(climbable1, 0x0010);
  123.     ClearActorFlags(player, 0x200000);
  124.     print("Climbable");
  125.     }
  126.  
  127. return;
  128.  
  129. # ........................................................................................
  130. entered:
  131.  
  132. if (GetSenderRef() == awake0)
  133.     {
  134.     if (done0 == 1) return;
  135.     AIClearMode(robo0, 0x2000);
  136.     done0=1;
  137.     }
  138. if (GetSenderRef() == awake1)
  139.     {
  140.     if (done1 == 1) return;
  141.     AIClearMode(robo1, 0x2000);
  142.     done1=1;
  143.     }
  144. if (GetSenderRef() == awake2)
  145.     {
  146.     if (done2 == 1) return;
  147.     AIClearMode(robo2, 0x2000);
  148.     done2=1;
  149.     }
  150.  
  151. return;
  152.  
  153. # ........................................................................................
  154. end
  155.  
  156.